<template>
	<el-select v-model="value" filterable clearable v-bind="props" @change="onChange">
		<el-option v-for="(item, index) in list" :key="index" :value="item.id" :label="item.course_id" />
	</el-select>
</template>

<script lang="ts">
import { defineComponent, inject, onMounted, ref, watch } from "vue";
import { isArray } from "/@/core/utils";


export default defineComponent({
	name: "courseType",

	// props: {
	// 	modelValue: [String, Number, Array],
	// 	props: Object
	// },

	// props: {
	// 	value: {
	// 		type: String,
	// 	}
	// },

	emits: ["update:modelValue"],

	setup(props, { emit }) {
		// 请求服务
		const service = inject<any>("service");

		// 数据列表
		const list = ref<any[]>([]);

		// 绑定值
		const value = ref<any>();

		// 绑定值回调
		function onChange(val: any) {
			emit("update:modelValue", val);
		}
		
		// 解析值
		// watch(
		// 	() => props.value,
		// 	(val: any) => {
		// 		value.value = (isArray(val) ? val : [val]).filter(Boolean);
		// 	},
		// 	{
		// 		immediate: true
		// 	}
		// );

		onMounted(async () => {
			console.log(service);
			
			list.value = await service.courseTypeService.list();
			console.log(list.value);
			
		});

		return {
			list,
			value,
			onChange
		};
	}
});
</script>
